<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <title>Review Wizard Status Report for November 2007</title>
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
  <link rel="icon" href="/favicon.ico" type="image/ico" />
  <link rel="stylesheet" type="text/css" href=
  "../style-v2/section-development.css" />
  <!--[if IE]> <style type="text/css"> body { behavior: url(../style-v2/csshover.htc); } </style> <![endif]-->
</head><!--
Note: Editing website content is documented at:
https://www.boost.org/development/website_updating.html
-->

<body>
  <div id="heading">
    <!--#include virtual="/common/heading.html" -->
  </div>

  <div id="body">
    <div id="body-inner">
      <div id="content">
        <div class="section" id="intro">
          <div class="section-0">
            <div class="section-title">
              <h1>Review Wizard Status Report for November 2007</h1>
            </div>

            <div class="section-body">
              <h2><a name="news" id="news"></a>News</h2>

              <dl class="docutils">
                <dt>November 7, 2007 - Exception Library Accepted</dt>

                <dd>Announcement: <a class="reference" href=
                "https://lists.boost.org/boost-users/2007/11/31912.php">https://lists.boost.org/boost-users/2007/11/31912.php</a></dd>
              </dl>

              <p>We need experienced review managers. Please take a look at
              the list of libraries in need of managers and check out their
              descriptions. In general review managers are active boost
              participants or library contributors. If you can serve as
              review manager for any of them, email Ron Garcia or John
              Phillips, "garcia at cs dot indiana dot edu" and "jphillip at
              capital dot edu" respectively.</p>

              <p>A link to this report will be posted to www.boost.org. If
              you would like us to make any modifications or additions to
              this report before we do that, please email Ron or John.</p>

              <p>If you're library author and plan on submitting a library
              for review in the next 3-6 months, send Ron or John a short
              description of your library and we'll add it to the Libraries
              Under Construction below. We know that there are many libraries
              that are near completion, but we have hard time keeping track
              all of them. Please keep us informed about your progress.</p>

              <h2><a name="review-queue" id="review-queue"></a>Review
              Queue</h2>

              <ul class="simple">
                <li>Finite State Machines</li>

                <li>Floating Point Utilities</li>

                <li>Switch</li>

                <li>Property Map (fast-track)</li>

                <li>Graph (fast-track)</li>

                <li>Forward (fast-track)</li>

                <li>Singleton (fast-track)</li>

                <li>Factory (fast-track)</li>

                <li>Lexer</li>

                <li>Thread-Safe Signals</li>

                <li>Logging</li>

                <li>Flyweight</li>

                <li>Unordered Containers</li>
              </ul>
              <hr class="docutils" />

              <h3><a name="finite-state-machines" id=
              "finite-state-machines"></a>Finite State Machines</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Andrey Semashev</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Martin Vuille</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://tinyurl.com/yjozfn">Boost Sandbox Vault</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">
                      <p class="first">The Boost.FSM library is an
                      implementation of FSM (stands for Finite State Machine)
                      programming concept. The main goals of the library
                      are:</p>

                      <ul class="last simple">
                        <li>Simplicity. It should be very simple to create
                        state machines using this library.</li>

                        <li>Performance. The state machine infrastructure
                        should not be very time and memory-consuming in order
                        to be applicable in more use cases.</li>

                        <li>Extensibility. A developer may want to add more
                        states to an existing state machine. A developer
                        should also be able to specify additional transitions
                        and events for the machine with minimum modifications
                        to the existing code.</li>
                      </ul>
                    </td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="floating-point-utilities" id=
              "floating-point-utilities"></a>Floating Point Utilities</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Johan R&aring;de</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://boost-consulting.com/vault/index.php?directory=Math%20-%20Numerics">
                    Boost Sandbox Vault</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">
                      <p class="first">The Floating Point Utilities library
                      contains the following:</p>

                      <ul class="last simple">
                        <li>Floating point number classification functions:
                        fpclassify, isfinite, isinf, isnan, isnormal (Follows
                        TR1)</li>

                        <li>Sign bit functions: signbit, copysign, changesign
                        (Follows TR1)</li>

                        <li>Facets that format and parse infinity and NaN
                        according to the C99 standard (These can be used for
                        portable handling of infinity and NaN in text
                        streams).</li>
                      </ul>
                    </td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="switch" id="switch"></a>Switch</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Steven Watanabe</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=mcs_units_v0.7.1.zip&amp;directory=Units">
                    Boost Sandbox Vault</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">The built in C/C++ switch
                    statement is very efficient. Unfortunately, unlike a
                    chained if/else construct there is no easy way to use it
                    when the number of cases depends on a template parameter.
                    The Switch library addresses this issue.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="property-map-fast-track" id=
              "property-map-fast-track"></a>Property Map (fast-track)</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Andrew Sutton</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Jeremy Siek</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://svn.boost.org/svn/boost/sandbox/graph-v2">http://svn.boost.org/svn/boost/sandbox/graph-v2</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">
                      <p class="first">A number of additions and
                      modifications to the Property Map Library,
                      including:</p>

                      <ul class="last simple">
                        <li>A constant-valued property map, useful for
                        naturally unweighted graphs.</li>

                        <li>A noop-writing property map, useful when you have
                        to provide an argument, but just don't care about the
                        output.</li>

                        <li>See <a class="reference" href=
                        "http://svn.boost.org/trac/boost/browser/sandbox/graph-v2/libs/property_map/ChangeLog">
                        ChangeLog</a> for details.</li>
                      </ul>
                    </td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="graph-fast-track" id="graph-fast-track"></a>Graph
              (fast-track)</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Andrew Sutton</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Jeremy Siek</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://svn.boost.org/svn/boost/sandbox/graph-v2">http://svn.boost.org/svn/boost/sandbox/graph-v2</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">
                      <p class="first">A number of additions and
                      modifications to the Graph Library, including:</p>

                      <ul class="last simple">
                        <li>Two new graph classes (undirected and directed)
                        which are intended to make the library more
                        approachable for new developers</li>

                        <li>A suite of graph measures including degree and
                        closeness centrality, mean geodesic distance,
                        eccentricity, and clustering coefficients.</li>

                        <li>An algorithm for visiting all cycles in a
                        directed graph (Tiernan's from 1970ish). It works for
                        undirected graphs too, but reports cycles twice (one
                        for each direction).</li>

                        <li>An algorithm for visiting all the cliques a graph
                        (Bron&amp;Kerbosch). Works for both directed and
                        undirected.</li>

                        <li>Derived graph measures radius and diameter (from
                        eccentricity) and girth and circumference (from
                        Tiernan), and clique number (from
                        Bron&amp;Kerbosch).</li>

                        <li>An exterior_property class that helps hides some
                        of the weirdness with exterior properties.</li>

                        <li>runtime and compile-time tests for the new
                        algorithms.</li>

                        <li>a substantial amount of documentation</li>

                        <li>Graph cores, implemented by David Gleich
                        (@Stanford University)</li>

                        <li>Deterministic graph generators - capable of
                        creating or inducing specific types of graphs over a
                        vertex set (e.g., star graph, wheel graph, prism
                        graph, etc). There are several other specific types
                        that could be added to this, but I haven't had the
                        time just yet.</li>
                      </ul>
                    </td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="forward-fast-track" id=
              "forward-fast-track"></a>Forward (fast-track)</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Tobias Schwinger</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">John Torjo</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files">
                    http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">A brute-force solution to the
                    forwarding problem.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="singleton-fast-track" id=
              "singleton-fast-track"></a>Singleton (fast-track)</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Tobias Schwinger</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">John Torjo</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files">
                    http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">Three thread-safe Singleton
                    templates with an easy-to-use interface.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="factory-fast-track" id=
              "factory-fast-track"></a>Factory (fast-track)</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Tobias Schwinger</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">John Torjo</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files">
                    http://boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=X-Files</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">Generic factories.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="lexer" id="lexer"></a>Lexer</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Ben Hanson</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=boost.lexer.zip&amp;directory=Strings%20">
                    http://boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=boost.lexer.zip&amp;directory=Strings%20</a>-%20Text%20Processing&amp;</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">A programmable lexical analyser
                    generator inspired by 'flex'. Like flex, it is programmed
                    by the use of regular expressions and outputs a state
                    machine as a number of DFAs utilising equivalence classes
                    for compression.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="thread-safe-signals" id=
              "thread-safe-signals"></a>Thread-Safe Signals</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Frank Hess</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://www.boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=thread_safe_signals">
                    http://www.boost-consulting.com/vault/index.php?&amp;direction=0&amp;order=&amp;directory=thread_safe_signals</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">A thread-safe implementation of
                    Boost.signals that has some interface changes to
                    accommodate thread safety, mostly with respect to
                    automatic connection management.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="logging" id="logging"></a>Logging</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">John Torjo</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://torjo.com/log2/">http://torjo.com/log2/</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">Used properly, logging is a very
                    powerful tool. Besides aiding debugging/testing, it can
                    also show you how your application is used. The Boost
                    Logging Library allows just for that, supporting a lot of
                    scenarios, ranging from very simple (dumping all to one
                    destination), to very complex (multiple logs, some
                    enabled/some not, levels, etc). It features a very simple
                    and flexible interface, efficient filtering of messages,
                    thread-safety, formatters and destinations, easy
                    manipulation of logs, finding the best logger/filter
                    classes based on your application's needs, you can define
                    your own macros and much more!</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="flyweight" id="flyweight"></a>Flyweight</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Joaqu&iacute;n M L&oacute;pez
                    Mu&ntilde;oz</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=flyweight.zip&amp;directory=Patterns">
                    http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=flyweight.zip&amp;directory=Patterns</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">Flyweights are small-sized handle
                    classes granting constant access to shared common data,
                    thus allowing for the management of large amounts of
                    entities within reasonable memory limits. Boost.Flyweight
                    makes it easy to use this common programming idiom by
                    providing the class template flyweight&lt;T&gt;, which
                    acts as a drop-in replacement for const T.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="unordered-containers" id=
              "unordered-containers"></a>Unordered Containers</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Daniel James</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Review Manager:</th>

                    <td class="field-body">Need Volunteer</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body"><a class="reference" href=
                    "http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=unordered.zip&amp;directory=Containers">
                    http://www.boost-consulting.com/vault/index.php?action=downloadfile&amp;filename=unordered.zip&amp;directory=Containers</a></td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">An implementation of the unordered
                    containers specified in TR1, with most of the changes
                    from the recent draft standards.</td>
                  </tr>
                </tbody>
              </table>

              <h2><a name="libraries-under-development" id=
              "libraries-under-development"></a>Libraries under
              development</h2>

              <h3><a name="dataflow" id="dataflow"></a>Dataflow</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Stjepan Rajko</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">The Dataflow library provides
                    generic support for data producers, consumers, and
                    connections between the two. It also provides layers for
                    several specific dataflow mechanisms, namely
                    Boost.Signals, VTK data/display pipelines, and plain
                    pointers. The Dataflow library came out of the Signal
                    Network GSoC project, mentored by Doug Gregor.</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Status:</th>

                    <td class="field-body">I am polishing the Dataflow
                    library for submission, and am expecting to add it to the
                    review queue in the next couple of months. I am currently
                    ironing out some faults in the design of the library,
                    filling in missing features, and testing it on / adapting
                    it to different dataflow mechanisms (currently VTK and
                    soon Boost.Iostreams). As soon as I'm pretty sure that
                    things are going the right way, I'll submit this to the
                    review queue while I do the finishing touches.</td>
                  </tr>
                </tbody>
              </table>

              <h3><a name="constrained-value" id=
              "constrained-value"></a>Constrained Value</h3>

              <table class="docutils field-list" frame="void" rules="none">
                <col class="field-name" />
                <col class="field-body" />

                <tbody valign="top">
                  <tr class="field">
                    <th class="field-name">Author:</th>

                    <td class="field-body">Robert Kawulak</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Download:</th>

                    <td class="field-body">
                      <p class="first"><a class="reference" href=
                      "http://rk.go.pl/f/constrained_value.zip">http://rk.go.pl/f/constrained_value.zip</a></p>

                      <p class="last"><a class="reference" href=
                      "http://rk.go.pl/r/constrained_value">http://rk.go.pl/r/constrained_value</a>
                      (Documentation)</p>
                    </td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Description:</th>

                    <td class="field-body">The Constrained Value library
                    contains class templates useful for creating constrained
                    objects. The simplest example of a constrained object is
                    hour. The only valid values for an hour within a day are
                    integers from the range [0, 23]. With this library, you
                    can create a variable which behaves exactly like int, but
                    does not allow for assignment of values which do not
                    belong to the allowed range. The library doesn't focus
                    only on constrained objects that hold a value belonging
                    to a specified range (i.e., bounded objects). Virtually
                    any constraint can be imposed using appropriate
                    predicate. You can specify what happens in case of
                    assignment of an invalid value, e.g. an exception may be
                    thrown or the value may be adjusted to meet the
                    constraint criterions.</td>
                  </tr>

                  <tr class="field">
                    <th class="field-name">Status:</th>

                    <td class="field-body">I'm planning to finish it in 1-2
                    months.</td>
                  </tr>
                </tbody>
              </table>

              <p>Please let us know of any libraries you are currently
              developing that you intend to submit for review.</p>
            </div>
          </div>
        </div>
      </div>

      <div id="sidebar">
        <!--#include virtual="/common/sidebar-common.html" -->
        <!--#include virtual="/common/sidebar-development.html" -->
      </div>

      <div class="clear"></div>
    </div>
  </div>

  <div id="footer">
    <div id="footer-left">
      <div id="revised">
        <p>Revised $Date: 2007-10-22 22:55:52 +0100 (Mon, 22 Oct 2007) $</p>
      </div>

      <div id="copyright"></div>
      <!--#include virtual="/common/footer-license.html" -->
    </div>

    <div id="footer-right">
      <!--#include virtual="/common/footer-banners.html" -->
    </div>

    <div class="clear"></div>
  </div>
</body>
</html>
